Storage systems usually include multiple storage components of different types such as, but not limited to, solid-state storage elements, disk drives, tapes, and CD-ROM drives. Different storage elements may be characterized by different access time, cost, reliability and the like. Data placement, i.e., the type and place of component used for storing each data element, has implications on the speed in which data is accessed, and on the risk of losing access or even losing the data as a result of a fault.
Management of data placement is implemented by data storage policies that are typically handled manually or implemented in script-like languages.
A storage policy typically includes rules for deciding where new files will be stored, rules for deciding if and where files should be moved to, and rules to determine if and when to erase files. The latter two types of rules are usually applied periodically to the storage system (e.g., every night).
The complexity of storage policies has dramatically increased recently, and this is partially due to the increasing amount of files that must be stored in a storage system, as well as due to the increasing numbers of storage components and storage component types that are included in the storage system.
There is a need to provide efficient methods, computer program products and a system for evaluating and generating a storage policy.